The present invention generally relates to a satellite communications network and more specifically to a satellite communications network for real time down-link scheduling of statistical bandwidth of data streams buffered through an out-bound module of a communications satellite.
Satellite communications systems have been proposed for relaying communications signals between one or more user terminals and a ground station. The user terminals may be located at various places about the world with multiple terminals located in a common field of view of one satellite. The satellites typically include antenna arrays that define spot beams or footprints on the earth's surface. The satellites generally receive communications data streams from multiple terminals located in each spot beam. The data streams are received over separate uplinks or virtual channel connections. The satellite combines the incoming data streams for terminals in common spot beams and passes a combined down-link signal containing multiple data streams to a ground station or another user terminal. The receiving terminal or ground station may be located in a common spot beam as the transmitting terminal or in a different spot beam.
Satellite communications networks are both in existence and under development for supporting communications channels carrying a variety of data types, such as audio data, video data, video conferencing data, broadcast video data, web surfing data and the like. Existing satellite communications networks support several connection-oriented protocols, such as the ATM (asynchronous transfer mode) protocol for conveying the various data types. As a connection oriented protocol, an ATM network operates such that, before a call is permitted to take place through the network, a network provider guarantees that existing calls will not be unduly adversely affected. For instance, the network provider guarantees that existing connections will maintain a certain minimum quality of service. In addition, before establishing a new call within an ATM network, the network provider must insure that the network will afford a desired minimum quality of service for the new call.
The quality of service defines an ATM requirement for a particular connection, such as a data stream packet/loss ratio, a delay or delay variation between data stream packet transmissions and the like. Two exemplary ATM network control techniques are guaranteed minimum quality of service and best efforts minimum quality of service. In an ATM network, the quality of service for new calls and existing calls may be used for several functions, such as to determine call admission control for new calls and scheduling with respect to the time of transmission for packets associated with existing calls.
Call admission control is the process by which an ATM network determines whether or not to accept a new call or user who is requesting some service from the network. The freedom and flexibility afforded within call admission control and scheduling are dependent upon an amount of bandwidth afforded to an ATM network and upon the bandwidth requirements of individual calls requested from the network. Bandwidth in this context refers to a statistical amount of bandwidth required by a particular connection in order to meet a minimum quality of service required by the connection.
Scheduling is the process by which the network determines the order in which data packets or cells are transmitted over a downlink to a ground or earth station. In more detail, data packets or cells are continuously switched within the satellite among uplink channels to associated out-bound modules. An out-bound module is associated with each down-link to a ground station or earth station. An out-bound module represents a point in the satellite at which several traffic streams are combined into a common single stream. For instance, the out-bound module may be a module in the satellite in which multiple uplink traffic streams are combined and passed to a single down-link traffic stream. The uplink traffic streams may be for multiple users located in common or different footprints of the spot beams created by the satellite. A router or switch is provided in the satellite for receiving incoming data packets from the different data streams. The router or switch identifies, for each data packet, a destination down-link beam.
Based on the destination for each data packet, the router or switch directs each data packet to a corresponding out-bound module.
Each out-bound module includes one or more queues or buffers which receive data packets associated with a particular quality of service. The data packets stored in each buffer are output in a FIFO manner (first in, first out) or FIFS manner (first in, first served). The order between buffers is determined by the scheduler.
The capacity of present microprocessor technology has impacted the amount of processing that may be implemented on a satellite in a digital communications network. Conventional ATM network switching elements require complex scheduling algorithms to be processed for quality of service and fairness guarantees. The limits of current processing speeds have rendered it difficult to permit real time processing associated with quality of service and fairness guarantees, given that the typical network should perform scheduling calculations every few seconds for real-time scheduling. Current scheduling systems operate upon a static scheduling table that is defined based on a priori knowledge and historic traffic patterns. However, use of static scheduling tables leads to wasted bandwidth resources, unfair bandwidth allocation and ultimately loss of throughput and revenue.
In the past, schedulers have been proposed that utilize a look-up table that stores a packet service schedule identifying the order in which the buffers or queues output data packets or cells over the downlink. The packet service schedule defines a master frame comprised of data packets arranged in sequential time slots and passed over the downlink. The packet service schedule comprises a series of entries, each of which is associated with a time slot in the master frame. Each time slot in the look-up table stores a queue index identifying a queue to be accessed during the corresponding time slot. Heretofore, schedulers have been preprogrammed with packet service schedules storing static data transmission orders based on models of projected or estimated traffic demands. Conventional look-up tables are periodically reprogrammed. However, when reprogrammed, the models used to define the look-up tables are based on a priori knowledge concerning historic and projected traffic patterns and bandwidth demands.
However, scheduling based on a priori knowledge may be wasteful. First, a user may utilize less bandwidth than estimated. Consequently, a model may assign in the look-up table an excessive number of time slots to a queue having a particular quality of service, even though the channel requiring the particular quality of service does not need the estimated amount of bandwidth. In this manner, bandwidth in the down-link is assigned, but remains idle. Alternatively, a channel may utilize more bandwidth than estimated. Excessive bandwidth usage requires additional resources to be called upon in order to service the particular user (e.g., an additional buffer may be used having a common or better quality of service than the buffer that is overloaded).
A need remains for an improved downlink scheduler. It is an object of the preferred embodiments of the present invention to meet this need.